Method, system and program for managing executable tasks

ABSTRACT

Disclosed herein are a data processing system implemented method, a data processing system and an article of manufacture for managing a plurality of data processing system executable tasks each having a script associated therewith. The data processing system includes a task selector for selecting, from the plurality of computer executable tasks, a selection of tasks, a script selector for selecting scripts, the selected scripts associated with the selected selection of tasks, and a script editor for editing the selected scripts, the edited selected scripts being executable by the data processing system.

FIELD OF INVENTION

The present invention relates to the field of computer executable tasks.In particular, to a method, a data processing system, and an article ofmanufacture for managing data processing system executable tasks.

BACKGROUND

Computing platforms execute software implemented applications that areoften referred to as tasks. A computing platform can execute a number oftasks in succession including some executing concurrently. A user ofsuch a computing platform will want to execute one or more tasks, viewthe progress of each task, prioritize executing tasks, determine iftasks have succeeded or failed, and repeat these same tasks severaltimes with the same or different input parameters.

It is known to provide a task management application with a userinterface that allows a human operator (user) to view the identifyinginformation, current or completion status, and other useful informationwith respect to executing task and recently completed tasks. An exampleof such a task management application is provided by the Microsoft®Windows® Task Manager. The Windows® Task Manager allows a user to view alist of executing tasks (applications) and to terminate execution of adesignated task. Once a task has terminated, no information regardingthe task is available in the Windows® Task Manager.

Typically the information presented in the user interface of a taskmanagement application is read-only. That is, the user can not interactwith the information presented in the interface for the purpose ofmanipulating it or perform actions on it. The information provided iscommonly sufficient to identify a task but does not include details ofparameters (inputs) provided to the task on execution. Therefore, theinformation is not always sufficient to permit the user to re-execute adisplayed task.

What is required is a task management application with a user interfacethat permits a user to manipulate information presented in the interfaceand to re-execute tasks based on the parameters previously provided tothe task.

SUMMARY OF INVENTION

In accordance with one aspect of the present invention, there isprovided a data processing system for managing a plurality of dataprocessing system executable tasks each having a script associatedtherewith, the data processing system including a task selector forselecting, from the plurality of computer executable tasks, a selectionof tasks, a script selector for selecting scripts, the selected scriptsassociated with the selected selection of tasks, and a script editor forediting the selected scripts, the edited selected scripts beingexecutable by the data processing system.

In accordance with another aspect of the present invention, there isprovided a data processing system implemented method for managing aplurality of data processing system executable tasks each having ascript associated therewith, the method including selecting, from theplurality of computer executable tasks, a selection of tasks, selectingscripts, the selected scripts associated with the selected selection oftasks, and editing the selected scripts, the edited selected scriptsbeing executable by the data processing system.

In accordance with another aspect of the present invention, there isprovided an article of manufacture for directing a data processingsystem to manage a plurality of data processing system executable taskseach having a script associated therewith, the article of manufactureincluding a program usable medium embodying one or more instructionsexecutable by the data processing system, the one or more instructionsincluding data processing system executable instructions for selecting,from the plurality of computer executable tasks, a selection of tasks,data processing system executable instructions for selecting scripts,the selected scripts associated with the selected selection of tasks,and data processing system executable instructions for editing theselected scripts, the edited selected scripts being executable by thedata processing system.

Other aspects and features of the present invention will become apparentto those ordinarily skilled in the art or science to which it pertainsupon review of the following description of specific embodiments of theinvention in conjunction with the accompanying figures.

BRIEF DESCRIPTION OF DRAWINGS

The present invention will be described in conjunction with drawings inwhich:

FIG. 1 is a schematic representation of an exemplary embodiment of adata processing system of the present invention.

FIG. 2 is a representation of an exemplary visual interface provided byan exemplary embodiment of the task presenter of the present invention.

FIG. 3 is another representation of an exemplary visual interfaceprovided by an exemplary embodiment of the task presenter of the presentinvention showing content in a script window provided by an exemplaryembodiment of the script presenter of the present invention.

FIG. 4 is a further representation of an exemplary visual interfaceprovided by an exemplary embodiment of the task presenter of the presentinvention showing a menu of operations.

FIG. 5 is a schematic representation of an exemplary lifecycle of a taskin accordance with the present invention.

FIG. 6 is a flow chart representing steps in an exemplary embodiment ofa method according to the present invention.

DETAILED DESCRIPTION

In an exemplary embodiment of the present invention, a data processingsystem provides for displaying, to a user, information regardingcurrently executing and previously completed (executed) tasks, on a dataprocessing system, and for allowing the user to manipulate theinformation and re-execute one or more selected tasks. The dataprocessing system can include a collection of computing platformsoperatively connected in a networked configuration.

FIG. 1 is a schematic representation of an exemplary embodiment of thedata processing system 100 of the present invention. The data processingsystem 100 can comprise a task presenter 110, a script presenter 120 anda command editor 130. The task presenter 110 can present an interactivevisual representation of currently executing and previously completedtasks on the data processing system. Completed tasks can include tasksthat terminated in any of the following cases: normally, prematurely,prior to successful completion, and as the result of an exception orother similar terminating event. The script presenter 120 can present ahuman (user) readable representation of a script corresponding to a taskselected in the task presenter 110 representation of tasks. The commandeditor 130 can provide for the user to combine and edit the scriptscorresponding to the selected tasks and to cause execution of the editedscripts.

FIG. 2 is a representation of an exemplary visual interface 200 providedby the task presenter 110. The visual interface includes a graphicaluser interface (GUI) window such as an Action Output window 210. TheAction Output window 210 includes a task list area 220 that can displayinformation for a plurality of tasks arranged with a row for each task.Each row can contain fields of information including a task identifyingfield (Action), a task status field (Status), a completion/terminationresult field (Return Code), a start of execution time field (StartTime), and other similar fields of information with respect to eachtask. The Status field can take on values such as, for example,“Running”, “Successful”, “Warning” and “Failed”. The Action Outputwindow 210 can be interactive and can provide for the user to select oneor more of the tasks (the selected task or the selected tasks) usingcommonly known GUI mechanisms for making a selection.

FIG. 3 is another representation of the exemplary visual interface 200provided by the task presenter 110 showing content in a Script area 230provided by the script presenter 120. The content in the Script area 230is a computer executable script that corresponds to the selected task inthe task list area 220. The computer executable script in the Scriptarea 230 is presented in a human readable format. The command editor 130can be invoked on the script shown in the Script area 230. The commandeditor 130 provides for the user to edit the script. A script editingmechanism can be included in the command editor 130. In an alternativeembodiment, the command editor 130 can provide for the editing of thescript using another mechanism such as, for example, a script editor, aprogram editor, a text editor and other similar editing mechanisms. Whenediting of the script is complete, the command editor 130 can providefor the execution of the edited script. The executed script can appearas a new task in the task list area 220.

FIG. 4 is a further representation of the exemplary visual interface 200provided by the task presenter 110 showing a menu of operations. When atask is selected in the task list area 220, the data processing system100 provides for a user designated operation to be applied to theselected task. The user designates the operation by selecting from aplurality of operation selections 240 using a common mechanism such as,for example, a drop-down menu, a pop-up menu and other similar selectionmechanisms. The plurality of operation selections 240 can be a functionof a state of the selected task. The state of the selected task cancoincide with the status for the selected task or in an alternativeembodiment the state and status can take on a unique range of values.For illustrative purposes herein, the state of the selected task takeson the same range of values as the status. For example, operationselections for a selected task having a state of “Running” can include:“Cancel”, “Show Progress”, “Throttle”, “Edit and Re-execute” and“Schedule Task”; while operation selections for a selected task having astate of “Successful”, “Warning” or “Failed” can include: “Remove”,“Edit and Re-execute” and “Schedule Task”. The operation “Cancel” canterminate an executing task; the entry (row) corresponding to the taskwill remain in the task list area 220. The operation “Show Progress” candisplay detailed progress of the executing task. The operation“Throttle” can cause the data processing system to increase or decreasethe allocation of resources to the executing task. The operation “Editand Re-execute” can invoke the command editor 130 on the scriptcorresponding to the selected task; operation of the command editor 130is described above. The operation “Schedule Task” can allow the user toschedule the selected task for execution at a designated date and time.The operation “Remove” can remove the entry (row) in the task list area220 corresponding to the selected task.

In an alternative embodiment of the present invention, the taskpresenter 110 provides for the user to select multiple tasks in the tasklist area 220. When multiple tasks are selected, the script presenter120 can present scripts corresponding to each of the selected tasksallowing the user to, for example, combine the scripts. Also whenmultiple tasks are selected, a user designated operation can be appliedto each of the selected tasks.

FIG. 5 is a schematic representation of an exemplary lifecycle 400 of atask in accordance with the present invention. The lifecycle 400 beginswith an originating dialog 410 where parameters for the yet to beexecuted task are established by the user. When the parameters have beenestablished, the task can be sent to a task executor 420 for execution.Task status information for the executing task or a task output (i.e.return code) when the task has terminated execution can be sent to thedata processing system 100. The data processing system 100 can,responsive to an operation selection of “Show Progress” by the user,invoke a progress dialog 430. The data processing system 100 can,responsive to an operation selection of “Edit and Re-execute” by theuser, invoke the command editor 130. When the user has edited the scriptcorresponding to the task, the task can be sent to the task executor 420for execution. The data processing system 100 can, responsive to anoperation selection of “Schedule Task” by the user, send the task to atask center 440. The task center 440 can send the task of the taskexecutor 420 at a date and time designated by the user. The originatingdialog 410 can also send the task to the task center 440 for deferredexecution at a designated data and time as an alternative to sending thetask directly to the task executor 420. When the user has confirmed oramended the parameters, the originating dialog 410 can again send thetask to the task executor 420 or alternatively the task center 440.

FIG. 6 is a flow chart representing steps in an exemplary embodiment ofa method 600 according to the present invention. The method 600 can beimplemented, for example, using a task manger 100 such as that describedabove and represented in FIG. 1. In step 610 of the method 600,information for the plurality of tasks is presented, for example, in aGUI Action Output window 210 having a task list area 220 with a row foreach task. Each row can contain fields of information including a taskidentifying field (Action), a task status field (Status), acompletion/termination result field (Return Code), a start of executiontime field (Start Time), and other similar fields of information withrespect to each task. The Status field can take on values such as, forexample, “Running”, “Successful”, “Warning” and “Failed”. The ActionOutput window 210 can be interactive and can provide for the user toselect one or more of the tasks 620 (the task selection) using commonlyknown GUI mechanisms for making a selection. Computer executable scriptsthat correspond to the task selection in the task list area 220 can bepresented 630 in the Script area 230. The computer executable scripts inthe Script area 230 are presented in a human readable format. When tasksare selected in the task list area 220, a user designated operation tobe applied to the selected tasks can be received 640. The userdesignates the operation by selecting from a plurality of operationselections 240 using a common mechanism such as, for example, adrop-down menu, a pop-up menu and other similar selection mechanisms.The plurality of operation selections 240 can be a function of a stateof the selected tasks. When the user designated operation is the “Editand Re-execute” operation (described above), the user can edit thescripts 650 using, for example, the command editor 130. When editing ofthe scripts is completed, the task can be sent to, for example, the taskexecutor 420 for execution 660.

In an alternative embodiment, the method 600 according to the presentinvention can be implemented using a program usable medium embodying oneor more instructions, executable by the data processing system 100,corresponding to the steps of the method 600.

It will be apparent to one skilled in the art that numerousmodifications and departures from the specific embodiments describedherein may be made without departing from the spirit and scope of thepresent invention.

1. A data processing system for managing a plurality of data processingsystem executable tasks each having a script associated therewith, thedata processing system comprising: a task selector for selecting, fromthe plurality of computer executable tasks, a selection of tasks; ascript selector for selecting scripts, the selected scripts associatedwith the selected selection of tasks; and a script editor for editingthe selected scripts, the edited selected scripts being executable bythe data processing system.
 2. The data processing system of claim 1,wherein the task selector presents, for each of the plurality of dataprocessing system executable tasks, any one of: a status of the task anaction name identifying the task, a return code resulting from theexecution of the task, and any combination thereof.
 3. The dataprocessing system of claim 1, wherein the task selector receives a userinput signal designating an operation from a plurality of operations tobe applied to the selection of tasks.
 4. The data processing system ofclaim 3, wherein the plurality of operations includes any one of:canceling the tasks in the selection, displaying execution progressinformation for the tasks in the selection, changing execution priorityfor the tasks in the selection, removing the tasks in the selection fromthe plurality of computer executable tasks, launching an interactiveapplication for manipulating the scripts corresponding to the tasks inthe selection, launching the command editor on the scripts correspondingto the tasks in the selection, scheduling execution of the tasks in theselection at a user designated time, and any combination thereof.
 5. Thedata processing system of claim 3, wherein the operations in theplurality of operations are selected as a function of execution statesof the tasks in the selection.
 6. A data processing system implementedmethod for managing a plurality of data processing system executabletasks each having a script associated therewith, the method comprising:selecting, from the plurality of computer executable tasks, a selectionof tasks; selecting scripts, the selected scripts associated with theselected selection of tasks; and editing the selected scripts, theedited selected scripts being executable by the data processing system.7. The method of claim 6, wherein the selecting comprises presenting,for each of the plurality of data processing system executable tasks,any one of a status of: the task an action name identifying the task, areturn code resulting from the execution of the task, and anycombination thereof.
 8. The method of claim 6, further comprisingreceiving a user input signal designating an operation from a pluralityof operations to be applied to the selection of tasks.
 9. The method ofclaim 8, wherein the plurality of operations including any one of:canceling the tasks in the selection, displaying execution progressinformation for the tasks in the selection, changing execution priorityfor the tasks in the selection, removing the tasks in the selection fromthe plurality of computer executable tasks, launching an interactiveapplication for manipulating the scripts corresponding to the tasks inthe selection, launching the command editor on the scripts correspondingto the tasks in the selection, scheduling execution of the tasks in theselection at a user designated time, and any combination thereof. 10.The method of claim 8, wherein the operations in the plurality ofoperations are selected as a function of execution states of the tasksin the selection.
 11. An article of manufacture for directing a dataprocessing system to manage a plurality of data processing systemexecutable tasks each having a script associated therewith, the articleof manufacture comprising: a program usable medium embodying one or moreinstructions executable by the data processing system, the one or moreinstructions comprising: data processing system executable instructionsfor selecting, from the plurality of computer executable tasks, aselection of tasks; data processing system executable instructions forselecting scripts, the selected scripts associated with the selectedselection of tasks; and data processing system executable instructionsfor editing the selected scripts, the edited selected scripts beingexecutable by the data processing system.
 12. The article of manufactureof claim 11, wherein the instructions for selecting comprisespresenting, for each of the plurality of data processing systemexecutable tasks, any one of: a status of the task an action nameidentifying the task, a return code resulting from the execution of thetask, and any combination thereof.
 13. The article of manufacture ofclaim 11, wherein the program usable medium further comprising dataprocessing system executable instructions for receiving a user inputsignal designating an operation from a plurality of operations to beapplied to the selection tasks.
 14. The article of manufacture of claim13, wherein the plurality of operations comprising any one of: cancelingthe tasks in the selection, displaying execution progress informationfor the tasks in the selection, changing execution priority for thetasks in the selection, removing the tasks in the selection from theplurality of computer executable tasks, launching an interactiveapplication for manipulating the scripts corresponding to the tasks inthe selection, launching the command editor on the scripts correspondingto the tasks in the selection, scheduling execution of the tasks in theselection at a user designated time, and any combination thereof. 15.The article of manufacture of claim 13, wherein the operations in theplurality of operations are selected as a function of execution statesof the tasks in the selection.